/**
 * 
 */
package co.fitstart.admin.handler;

import co.fitstart.entity.course.round.CourseRound;

/**
 * @author downpour
 *
 */
public interface SmsSender {
	
	/**
     * 
     * @param mobile
     * @return
     */
    public String generateVerifyCode(String mobile);
	
	/**
	 * 
	 * @param mobile
	 */
	public boolean sendCode(String mobile, String code);
    
    /**
     * 
     * @param mobile
     * @param student
     * @param courseName
     * @param studentMobile
     */
    public void sendOrderCoachNotice(String mobile, String student, String courseName, String studentMobile);
    
    /**
     * 
     * @param mobile
     * @param student
     * @param courseName
     */
    public void sendCourseRoundCoachNotice(String mobile, String student, String courseName);
    
    /**
     * 
     * @param mobile
     */
    public void sendCoursewareNotice(String mobile);
    
    /**
     * 
     * @param courseRound
     */
    public void sendIndividualRoundFreezeNotice(CourseRound courseRound);
    
    /**
     * send year course round freeze notice to student
     * @param courseRound
     */
    public void sendYearRoundFreezeNotice(CourseRound courseRound);
    
    /**
     * send individual course round finish notice to student
     * @param mobile
     * @param site
     * @param courseAmount
     */
    public void sendIndividualFinishNotice(String mobile, String site, int courseAmount);
    
    /**
     * send individual course round delay notice to student
     * @param mobile
     * @param site
     * @param courseAmount
     * @param effectiveEnd
     */
    public void sendIndividualDelayNotice(String mobile, String site, int courseAmount, String effectiveEnd);
    
    /**
     * send individual course round cancel notice to student
     * @param mobile
     * @param site
     * @param courseAmount
     */
    public void sendIndividualCancelNotice(String mobile, String site, int courseAmount);
    
    /**
     * send year course round finish notice to student
     * @param mobile
     * @param site
     */
    public void sendYearFinishNotice(String mobile, String site);
    
    /**
     * send year course round delay notice to student
     * @param mobile
     * @param site
     * @param effectiveEnd
     */
    public void sendYearDelayNotice(String mobile, String site, String effectiveEnd);
    
    /**
     * send year course round cancel notice to student
     * @param mobile
     * @param site
     */
    public void sendYearCancelNotice(String mobile, String site);
    
    /**
     * 手动销课短信提醒
     * @param mobile
     */
    public void sendOverSchedule(String mobile,String scheduleTime);
    

}
